/*
** Copyright (C) 2011 Viens Yann
**
** This program is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
** License as published by the Free Software Foundation; either
** version 2.1 of the License, or (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
** Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public
** License along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

#ifndef TABCONFIG_HPP_
# define TABCONFIG_HPP_

# include <QWidget>
# include <QHBoxLayout>
# include <QVBoxLayout>
# include <QLabel>
# include <QCheckBox>
# include <QRadioButton>
# include <QGroupBox>
# include "ATab.hpp"
# include "Filters.hpp"
# include "ObjectDetector.hpp"

class		TabConfig: public ATab
{
  Q_OBJECT

  public:
  TabConfig();
  ~TabConfig();

  AGame*	getAssociatedGame();
  void		startGame();
  void		stopGame();
  
public slots:
  void		invertChanged(int isChecked);
  void		headSelected(bool isChanged);
  void		bodySelected(bool isChanged);

private:
  Filters*		_filters;
  ObjectDetector*	_detector;

  QHBoxLayout*		_global;
  QVBoxLayout*		_left;

  QCheckBox*		_inverseCheckBox;

  QVBoxLayout*		_algo;
  QGroupBox*		_detection;
  QRadioButton*		_head;
  QRadioButton*		_body;
};

#endif // TABCONFIG_HPP_
